package moxl.parser.assemblers.doctypedecl;

public enum DocumentTypeDeclarationAssemblerState
{
	DocumentTypeDeclarationStartState(new DocumentTypeDeclarationStartState()),

	DocumentTypeDeclarationExpectingDoctypeState(new DocumentTypeDeclarationExpectingDoctypeState()), 
	
	DocumentTypeDeclarationExpectingBodyState(new DocumentTypeDeclarationExpectingBodyState()), 
	
	DocumentTypeDeclarationExpectingCloseChevonState(new DocumentTypeDeclarationExpectingCloseChevonState()),

	DocumentTypeDeclarationEndState(new DocumentTypeDeclarationEndState()),;
	
	public static final DocumentTypeDeclarationAssemblerState START = DocumentTypeDeclarationStartState;
	public static final DocumentTypeDeclarationAssemblerState END = DocumentTypeDeclarationEndState;

	private final DocumentTypeDeclarationStateDelegateBase delegate;

	DocumentTypeDeclarationAssemblerState(DocumentTypeDeclarationStateDelegateBase delegate)
	{
		this.delegate = delegate;
		delegate.associateState(this);
	}

	public DocumentTypeDeclarationStateDelegateBase getDelegate()
	{
		return delegate;
	}
}
